package portal.mybatis.dao;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class SockectLogExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public SockectLogExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andTaskHashIsNull() {
            addCriterion("task_hash is null");
            return (Criteria) this;
        }

        public Criteria andTaskHashIsNotNull() {
            addCriterion("task_hash is not null");
            return (Criteria) this;
        }

        public Criteria andTaskHashEqualTo(String value) {
            addCriterion("task_hash =", value, "taskHash");
            return (Criteria) this;
        }

        public Criteria andTaskHashNotEqualTo(String value) {
            addCriterion("task_hash <>", value, "taskHash");
            return (Criteria) this;
        }

        public Criteria andTaskHashGreaterThan(String value) {
            addCriterion("task_hash >", value, "taskHash");
            return (Criteria) this;
        }

        public Criteria andTaskHashGreaterThanOrEqualTo(String value) {
            addCriterion("task_hash >=", value, "taskHash");
            return (Criteria) this;
        }

        public Criteria andTaskHashLessThan(String value) {
            addCriterion("task_hash <", value, "taskHash");
            return (Criteria) this;
        }

        public Criteria andTaskHashLessThanOrEqualTo(String value) {
            addCriterion("task_hash <=", value, "taskHash");
            return (Criteria) this;
        }

        public Criteria andTaskHashLike(String value) {
            addCriterion("task_hash like", value, "taskHash");
            return (Criteria) this;
        }

        public Criteria andTaskHashNotLike(String value) {
            addCriterion("task_hash not like", value, "taskHash");
            return (Criteria) this;
        }

        public Criteria andTaskHashIn(List<String> values) {
            addCriterion("task_hash in", values, "taskHash");
            return (Criteria) this;
        }

        public Criteria andTaskHashNotIn(List<String> values) {
            addCriterion("task_hash not in", values, "taskHash");
            return (Criteria) this;
        }

        public Criteria andTaskHashBetween(String value1, String value2) {
            addCriterion("task_hash between", value1, value2, "taskHash");
            return (Criteria) this;
        }

        public Criteria andTaskHashNotBetween(String value1, String value2) {
            addCriterion("task_hash not between", value1, value2, "taskHash");
            return (Criteria) this;
        }

        public Criteria andSubTaskHashIsNull() {
            addCriterion("sub_task_hash is null");
            return (Criteria) this;
        }

        public Criteria andSubTaskHashIsNotNull() {
            addCriterion("sub_task_hash is not null");
            return (Criteria) this;
        }

        public Criteria andSubTaskHashEqualTo(String value) {
            addCriterion("sub_task_hash =", value, "subTaskHash");
            return (Criteria) this;
        }

        public Criteria andSubTaskHashNotEqualTo(String value) {
            addCriterion("sub_task_hash <>", value, "subTaskHash");
            return (Criteria) this;
        }

        public Criteria andSubTaskHashGreaterThan(String value) {
            addCriterion("sub_task_hash >", value, "subTaskHash");
            return (Criteria) this;
        }

        public Criteria andSubTaskHashGreaterThanOrEqualTo(String value) {
            addCriterion("sub_task_hash >=", value, "subTaskHash");
            return (Criteria) this;
        }

        public Criteria andSubTaskHashLessThan(String value) {
            addCriterion("sub_task_hash <", value, "subTaskHash");
            return (Criteria) this;
        }

        public Criteria andSubTaskHashLessThanOrEqualTo(String value) {
            addCriterion("sub_task_hash <=", value, "subTaskHash");
            return (Criteria) this;
        }

        public Criteria andSubTaskHashLike(String value) {
            addCriterion("sub_task_hash like", value, "subTaskHash");
            return (Criteria) this;
        }

        public Criteria andSubTaskHashNotLike(String value) {
            addCriterion("sub_task_hash not like", value, "subTaskHash");
            return (Criteria) this;
        }

        public Criteria andSubTaskHashIn(List<String> values) {
            addCriterion("sub_task_hash in", values, "subTaskHash");
            return (Criteria) this;
        }

        public Criteria andSubTaskHashNotIn(List<String> values) {
            addCriterion("sub_task_hash not in", values, "subTaskHash");
            return (Criteria) this;
        }

        public Criteria andSubTaskHashBetween(String value1, String value2) {
            addCriterion("sub_task_hash between", value1, value2, "subTaskHash");
            return (Criteria) this;
        }

        public Criteria andSubTaskHashNotBetween(String value1, String value2) {
            addCriterion("sub_task_hash not between", value1, value2, "subTaskHash");
            return (Criteria) this;
        }

        public Criteria andLogFileUriIsNull() {
            addCriterion("log_file_uri is null");
            return (Criteria) this;
        }

        public Criteria andLogFileUriIsNotNull() {
            addCriterion("log_file_uri is not null");
            return (Criteria) this;
        }

        public Criteria andLogFileUriEqualTo(String value) {
            addCriterion("log_file_uri =", value, "logFileUri");
            return (Criteria) this;
        }

        public Criteria andLogFileUriNotEqualTo(String value) {
            addCriterion("log_file_uri <>", value, "logFileUri");
            return (Criteria) this;
        }

        public Criteria andLogFileUriGreaterThan(String value) {
            addCriterion("log_file_uri >", value, "logFileUri");
            return (Criteria) this;
        }

        public Criteria andLogFileUriGreaterThanOrEqualTo(String value) {
            addCriterion("log_file_uri >=", value, "logFileUri");
            return (Criteria) this;
        }

        public Criteria andLogFileUriLessThan(String value) {
            addCriterion("log_file_uri <", value, "logFileUri");
            return (Criteria) this;
        }

        public Criteria andLogFileUriLessThanOrEqualTo(String value) {
            addCriterion("log_file_uri <=", value, "logFileUri");
            return (Criteria) this;
        }

        public Criteria andLogFileUriLike(String value) {
            addCriterion("log_file_uri like", value, "logFileUri");
            return (Criteria) this;
        }

        public Criteria andLogFileUriNotLike(String value) {
            addCriterion("log_file_uri not like", value, "logFileUri");
            return (Criteria) this;
        }

        public Criteria andLogFileUriIn(List<String> values) {
            addCriterion("log_file_uri in", values, "logFileUri");
            return (Criteria) this;
        }

        public Criteria andLogFileUriNotIn(List<String> values) {
            addCriterion("log_file_uri not in", values, "logFileUri");
            return (Criteria) this;
        }

        public Criteria andLogFileUriBetween(String value1, String value2) {
            addCriterion("log_file_uri between", value1, value2, "logFileUri");
            return (Criteria) this;
        }

        public Criteria andLogFileUriNotBetween(String value1, String value2) {
            addCriterion("log_file_uri not between", value1, value2, "logFileUri");
            return (Criteria) this;
        }

        public Criteria andAlgorithmStateIsNull() {
            addCriterion("algorithm_state is null");
            return (Criteria) this;
        }

        public Criteria andAlgorithmStateIsNotNull() {
            addCriterion("algorithm_state is not null");
            return (Criteria) this;
        }

        public Criteria andAlgorithmStateEqualTo(String value) {
            addCriterion("algorithm_state =", value, "algorithmState");
            return (Criteria) this;
        }

        public Criteria andAlgorithmStateNotEqualTo(String value) {
            addCriterion("algorithm_state <>", value, "algorithmState");
            return (Criteria) this;
        }

        public Criteria andAlgorithmStateGreaterThan(String value) {
            addCriterion("algorithm_state >", value, "algorithmState");
            return (Criteria) this;
        }

        public Criteria andAlgorithmStateGreaterThanOrEqualTo(String value) {
            addCriterion("algorithm_state >=", value, "algorithmState");
            return (Criteria) this;
        }

        public Criteria andAlgorithmStateLessThan(String value) {
            addCriterion("algorithm_state <", value, "algorithmState");
            return (Criteria) this;
        }

        public Criteria andAlgorithmStateLessThanOrEqualTo(String value) {
            addCriterion("algorithm_state <=", value, "algorithmState");
            return (Criteria) this;
        }

        public Criteria andAlgorithmStateLike(String value) {
            addCriterion("algorithm_state like", value, "algorithmState");
            return (Criteria) this;
        }

        public Criteria andAlgorithmStateNotLike(String value) {
            addCriterion("algorithm_state not like", value, "algorithmState");
            return (Criteria) this;
        }

        public Criteria andAlgorithmStateIn(List<String> values) {
            addCriterion("algorithm_state in", values, "algorithmState");
            return (Criteria) this;
        }

        public Criteria andAlgorithmStateNotIn(List<String> values) {
            addCriterion("algorithm_state not in", values, "algorithmState");
            return (Criteria) this;
        }

        public Criteria andAlgorithmStateBetween(String value1, String value2) {
            addCriterion("algorithm_state between", value1, value2, "algorithmState");
            return (Criteria) this;
        }

        public Criteria andAlgorithmStateNotBetween(String value1, String value2) {
            addCriterion("algorithm_state not between", value1, value2, "algorithmState");
            return (Criteria) this;
        }

        public Criteria andAlgorithmScheduleIsNull() {
            addCriterion("algorithm_schedule is null");
            return (Criteria) this;
        }

        public Criteria andAlgorithmScheduleIsNotNull() {
            addCriterion("algorithm_schedule is not null");
            return (Criteria) this;
        }

        public Criteria andAlgorithmScheduleEqualTo(String value) {
            addCriterion("algorithm_schedule =", value, "algorithmSchedule");
            return (Criteria) this;
        }

        public Criteria andAlgorithmScheduleNotEqualTo(String value) {
            addCriterion("algorithm_schedule <>", value, "algorithmSchedule");
            return (Criteria) this;
        }

        public Criteria andAlgorithmScheduleGreaterThan(String value) {
            addCriterion("algorithm_schedule >", value, "algorithmSchedule");
            return (Criteria) this;
        }

        public Criteria andAlgorithmScheduleGreaterThanOrEqualTo(String value) {
            addCriterion("algorithm_schedule >=", value, "algorithmSchedule");
            return (Criteria) this;
        }

        public Criteria andAlgorithmScheduleLessThan(String value) {
            addCriterion("algorithm_schedule <", value, "algorithmSchedule");
            return (Criteria) this;
        }

        public Criteria andAlgorithmScheduleLessThanOrEqualTo(String value) {
            addCriterion("algorithm_schedule <=", value, "algorithmSchedule");
            return (Criteria) this;
        }

        public Criteria andAlgorithmScheduleLike(String value) {
            addCriterion("algorithm_schedule like", value, "algorithmSchedule");
            return (Criteria) this;
        }

        public Criteria andAlgorithmScheduleNotLike(String value) {
            addCriterion("algorithm_schedule not like", value, "algorithmSchedule");
            return (Criteria) this;
        }

        public Criteria andAlgorithmScheduleIn(List<String> values) {
            addCriterion("algorithm_schedule in", values, "algorithmSchedule");
            return (Criteria) this;
        }

        public Criteria andAlgorithmScheduleNotIn(List<String> values) {
            addCriterion("algorithm_schedule not in", values, "algorithmSchedule");
            return (Criteria) this;
        }

        public Criteria andAlgorithmScheduleBetween(String value1, String value2) {
            addCriterion("algorithm_schedule between", value1, value2, "algorithmSchedule");
            return (Criteria) this;
        }

        public Criteria andAlgorithmScheduleNotBetween(String value1, String value2) {
            addCriterion("algorithm_schedule not between", value1, value2, "algorithmSchedule");
            return (Criteria) this;
        }

        public Criteria andLogLevelIsNull() {
            addCriterion("log_level is null");
            return (Criteria) this;
        }

        public Criteria andLogLevelIsNotNull() {
            addCriterion("log_level is not null");
            return (Criteria) this;
        }

        public Criteria andLogLevelEqualTo(String value) {
            addCriterion("log_level =", value, "logLevel");
            return (Criteria) this;
        }

        public Criteria andLogLevelNotEqualTo(String value) {
            addCriterion("log_level <>", value, "logLevel");
            return (Criteria) this;
        }

        public Criteria andLogLevelGreaterThan(String value) {
            addCriterion("log_level >", value, "logLevel");
            return (Criteria) this;
        }

        public Criteria andLogLevelGreaterThanOrEqualTo(String value) {
            addCriterion("log_level >=", value, "logLevel");
            return (Criteria) this;
        }

        public Criteria andLogLevelLessThan(String value) {
            addCriterion("log_level <", value, "logLevel");
            return (Criteria) this;
        }

        public Criteria andLogLevelLessThanOrEqualTo(String value) {
            addCriterion("log_level <=", value, "logLevel");
            return (Criteria) this;
        }

        public Criteria andLogLevelLike(String value) {
            addCriterion("log_level like", value, "logLevel");
            return (Criteria) this;
        }

        public Criteria andLogLevelNotLike(String value) {
            addCriterion("log_level not like", value, "logLevel");
            return (Criteria) this;
        }

        public Criteria andLogLevelIn(List<String> values) {
            addCriterion("log_level in", values, "logLevel");
            return (Criteria) this;
        }

        public Criteria andLogLevelNotIn(List<String> values) {
            addCriterion("log_level not in", values, "logLevel");
            return (Criteria) this;
        }

        public Criteria andLogLevelBetween(String value1, String value2) {
            addCriterion("log_level between", value1, value2, "logLevel");
            return (Criteria) this;
        }

        public Criteria andLogLevelNotBetween(String value1, String value2) {
            addCriterion("log_level not between", value1, value2, "logLevel");
            return (Criteria) this;
        }

        public Criteria andTimeIsNull() {
            addCriterion("time is null");
            return (Criteria) this;
        }

        public Criteria andTimeIsNotNull() {
            addCriterion("time is not null");
            return (Criteria) this;
        }

        public Criteria andTimeEqualTo(Date value) {
            addCriterion("time =", value, "time");
            return (Criteria) this;
        }

        public Criteria andTimeNotEqualTo(Date value) {
            addCriterion("time <>", value, "time");
            return (Criteria) this;
        }

        public Criteria andTimeGreaterThan(Date value) {
            addCriterion("time >", value, "time");
            return (Criteria) this;
        }

        public Criteria andTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("time >=", value, "time");
            return (Criteria) this;
        }

        public Criteria andTimeLessThan(Date value) {
            addCriterion("time <", value, "time");
            return (Criteria) this;
        }

        public Criteria andTimeLessThanOrEqualTo(Date value) {
            addCriterion("time <=", value, "time");
            return (Criteria) this;
        }

        public Criteria andTimeIn(List<Date> values) {
            addCriterion("time in", values, "time");
            return (Criteria) this;
        }

        public Criteria andTimeNotIn(List<Date> values) {
            addCriterion("time not in", values, "time");
            return (Criteria) this;
        }

        public Criteria andTimeBetween(Date value1, Date value2) {
            addCriterion("time between", value1, value2, "time");
            return (Criteria) this;
        }

        public Criteria andTimeNotBetween(Date value1, Date value2) {
            addCriterion("time not between", value1, value2, "time");
            return (Criteria) this;
        }

        public Criteria andLogMessageIsNull() {
            addCriterion("log_message is null");
            return (Criteria) this;
        }

        public Criteria andLogMessageIsNotNull() {
            addCriterion("log_message is not null");
            return (Criteria) this;
        }

        public Criteria andLogMessageEqualTo(String value) {
            addCriterion("log_message =", value, "logMessage");
            return (Criteria) this;
        }

        public Criteria andLogMessageNotEqualTo(String value) {
            addCriterion("log_message <>", value, "logMessage");
            return (Criteria) this;
        }

        public Criteria andLogMessageGreaterThan(String value) {
            addCriterion("log_message >", value, "logMessage");
            return (Criteria) this;
        }

        public Criteria andLogMessageGreaterThanOrEqualTo(String value) {
            addCriterion("log_message >=", value, "logMessage");
            return (Criteria) this;
        }

        public Criteria andLogMessageLessThan(String value) {
            addCriterion("log_message <", value, "logMessage");
            return (Criteria) this;
        }

        public Criteria andLogMessageLessThanOrEqualTo(String value) {
            addCriterion("log_message <=", value, "logMessage");
            return (Criteria) this;
        }

        public Criteria andLogMessageLike(String value) {
            addCriterion("log_message like", value, "logMessage");
            return (Criteria) this;
        }

        public Criteria andLogMessageNotLike(String value) {
            addCriterion("log_message not like", value, "logMessage");
            return (Criteria) this;
        }

        public Criteria andLogMessageIn(List<String> values) {
            addCriterion("log_message in", values, "logMessage");
            return (Criteria) this;
        }

        public Criteria andLogMessageNotIn(List<String> values) {
            addCriterion("log_message not in", values, "logMessage");
            return (Criteria) this;
        }

        public Criteria andLogMessageBetween(String value1, String value2) {
            addCriterion("log_message between", value1, value2, "logMessage");
            return (Criteria) this;
        }

        public Criteria andLogMessageNotBetween(String value1, String value2) {
            addCriterion("log_message not between", value1, value2, "logMessage");
            return (Criteria) this;
        }

        public Criteria andJobIdIsNull() {
            addCriterion("job_id is null");
            return (Criteria) this;
        }

        public Criteria andJobIdIsNotNull() {
            addCriterion("job_id is not null");
            return (Criteria) this;
        }

        public Criteria andJobIdEqualTo(String value) {
            addCriterion("job_id =", value, "jobId");
            return (Criteria) this;
        }

        public Criteria andJobIdNotEqualTo(String value) {
            addCriterion("job_id <>", value, "jobId");
            return (Criteria) this;
        }

        public Criteria andJobIdGreaterThan(String value) {
            addCriterion("job_id >", value, "jobId");
            return (Criteria) this;
        }

        public Criteria andJobIdGreaterThanOrEqualTo(String value) {
            addCriterion("job_id >=", value, "jobId");
            return (Criteria) this;
        }

        public Criteria andJobIdLessThan(String value) {
            addCriterion("job_id <", value, "jobId");
            return (Criteria) this;
        }

        public Criteria andJobIdLessThanOrEqualTo(String value) {
            addCriterion("job_id <=", value, "jobId");
            return (Criteria) this;
        }

        public Criteria andJobIdLike(String value) {
            addCriterion("job_id like", value, "jobId");
            return (Criteria) this;
        }

        public Criteria andJobIdNotLike(String value) {
            addCriterion("job_id not like", value, "jobId");
            return (Criteria) this;
        }

        public Criteria andJobIdIn(List<String> values) {
            addCriterion("job_id in", values, "jobId");
            return (Criteria) this;
        }

        public Criteria andJobIdNotIn(List<String> values) {
            addCriterion("job_id not in", values, "jobId");
            return (Criteria) this;
        }

        public Criteria andJobIdBetween(String value1, String value2) {
            addCriterion("job_id between", value1, value2, "jobId");
            return (Criteria) this;
        }

        public Criteria andJobIdNotBetween(String value1, String value2) {
            addCriterion("job_id not between", value1, value2, "jobId");
            return (Criteria) this;
        }

        public Criteria andTemp2IsNull() {
            addCriterion("temp2 is null");
            return (Criteria) this;
        }

        public Criteria andTemp2IsNotNull() {
            addCriterion("temp2 is not null");
            return (Criteria) this;
        }

        public Criteria andTemp2EqualTo(String value) {
            addCriterion("temp2 =", value, "temp2");
            return (Criteria) this;
        }

        public Criteria andTemp2NotEqualTo(String value) {
            addCriterion("temp2 <>", value, "temp2");
            return (Criteria) this;
        }

        public Criteria andTemp2GreaterThan(String value) {
            addCriterion("temp2 >", value, "temp2");
            return (Criteria) this;
        }

        public Criteria andTemp2GreaterThanOrEqualTo(String value) {
            addCriterion("temp2 >=", value, "temp2");
            return (Criteria) this;
        }

        public Criteria andTemp2LessThan(String value) {
            addCriterion("temp2 <", value, "temp2");
            return (Criteria) this;
        }

        public Criteria andTemp2LessThanOrEqualTo(String value) {
            addCriterion("temp2 <=", value, "temp2");
            return (Criteria) this;
        }

        public Criteria andTemp2Like(String value) {
            addCriterion("temp2 like", value, "temp2");
            return (Criteria) this;
        }

        public Criteria andTemp2NotLike(String value) {
            addCriterion("temp2 not like", value, "temp2");
            return (Criteria) this;
        }

        public Criteria andTemp2In(List<String> values) {
            addCriterion("temp2 in", values, "temp2");
            return (Criteria) this;
        }

        public Criteria andTemp2NotIn(List<String> values) {
            addCriterion("temp2 not in", values, "temp2");
            return (Criteria) this;
        }

        public Criteria andTemp2Between(String value1, String value2) {
            addCriterion("temp2 between", value1, value2, "temp2");
            return (Criteria) this;
        }

        public Criteria andTemp2NotBetween(String value1, String value2) {
            addCriterion("temp2 not between", value1, value2, "temp2");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}